package com.example.management.oa.dao

import com.example.management.oa.domain.NotifyRecordDO
import org.mapstruct.Mapper

@Mapper
interface NotifyRecordDao {

    abstract operator fun get(id: Long?): NotifyRecordDO

    abstract fun list(map: Map<String, Any>): List<NotifyRecordDO>

    abstract fun count(map: Map<String, Any>): Int

    abstract fun save(notifyRecord: NotifyRecordDO): Int

    abstract fun update(notifyRecord: NotifyRecordDO): Int

    abstract fun remove(id: Long?): Int

    abstract fun batchRemove(ids: Array<Long>): Int

    abstract fun batchSave(records: List<NotifyRecordDO>): Int

    abstract fun listNotifyIds(map: Map<String, Any>): Array<Long>

    abstract fun removeByNotifbyId(notifyId: Long?): Int

    abstract fun batchRemoveByNotifbyId(notifyIds: Array<Long>): Int

    abstract fun changeRead(notifyRecord: NotifyRecordDO): Int
}